package com.geotmt.billingcenter.common.vo.params;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @Description 查询条件实体
 * @Author      yanghanwei
 * @Mail        yanghanwei@geotmt.com
 * @Date        2019/3/9 14:39
 * @Version     v1
 **/
@Data
public class ParamsConsume {

    /**
     * 产品code
     */
    @ApiModelProperty(name = "productCode", value = "产品code")
    private String productCode;

    /**
     * 企业id
     */
    @ApiModelProperty(name = "companyId", value = "企业客户id")
    private Integer companyId;

    /**
     * 用户id
     */
    @ApiModelProperty(name = "cuserId", value = "用户id")
    private Integer cuserId;

    /**
     * 接口id
     */
    @ApiModelProperty(name = "interfaceId", value = "接口id")
    private Integer interfaceId;

    /**
     * 接口id
     */
    @ApiModelProperty(name = "interfaceIds", value = "接口ids 如：'1,2,3,'")
    private String interfaceIds;

    /**
     * 运营商
     */
    @ApiModelProperty(name = "isp", value = "运营商")
    private String isp;

    /**
     * 计费模式 1.查询计费 2.查得计费 3.打包计费 4.阶梯计费
     */
    @ApiModelProperty(name = "feeFlag", value = "计费模式 1.查询计费 2.查得计费 3.打包计费 4.阶梯计费")
    private Integer feeFlag;

    /**
     * 有效开始时间
     */
    @ApiModelProperty(name = "effectStartTime", value = "有效开始时间")
    private Date effectStartTime;

    /**
     * 有效结束时间
     */
    @ApiModelProperty(name = "effectEndTime", value = "有效结束时间")
    private Date effectEndTime;

    /**
     * 是否回溯 1：否 2：是
     */
    @ApiModelProperty(name = "ifBack", value = "是否回溯 1：否 2：是")
    private Integer ifBack;

    /**
     * 是否打包 1：不打包 2：打包
     */
    @ApiModelProperty(name = "label", value = "是否打包 1：不打包 2：打包")
    private Integer label;

    /**
     * pageNum
     */
    @ApiModelProperty(name = "pageNum", value = "pageNum")
    private Integer pageNum;

    /**
     * pageSize
     */
    @ApiModelProperty(name = "pageSize", value = "pageSize")
    private Integer pageSize;

    /**
     * 排序规则
     */
    @ApiModelProperty(name = "orderBy", value = "排序参数")
    private String orderBy;

    public ParamsConsume() {}

    public ParamsConsume(String productCode, Integer companyId, Integer cuserId, Integer interfaceId) {
        this.productCode = productCode;
        this.companyId = companyId;
        this.cuserId = cuserId;
        this.interfaceId = interfaceId;
    }

    public ParamsConsume(String productCode, Integer companyId, Integer cuserId, Integer interfaceId, Date effectStartTime, Date effectEndTime,String orderBy) {
        this.productCode = productCode;
        this.companyId = companyId;
        this.cuserId = cuserId;
        this.interfaceId = interfaceId;
        this.effectStartTime = effectStartTime;
        this.effectEndTime = effectEndTime;
        this.orderBy = orderBy;
    }
}
